home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / flying-6.11 / pool8.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-30  |  1.4 KB  |  74 lines

  1. #ifndef _pool8_h
  2. #define _pool8_h
  3.  
  4. #ifndef _pool_h
  5. #    include "pool.h"
  6. #endif
  7.  
  8. class HalfBallMover;
  9.  
  10. class Pool8 : public Pool {
  11.     public:
  12.         Pool8(double ft);                        // Parameter: Tischgr÷▀e in Fu▀
  13.         virtual ~Pool8();
  14.  
  15.         void InitTable();
  16.         virtual void InitPlayground();
  17.         virtual void DrawBackground() const;
  18.  
  19.         virtual void InPocket( Ball *b );
  20.         virtual int  IsSelectable(Ball *b);
  21.  
  22.     protected:
  23.         void Triangle( double x, double y );
  24.         void Triangle( const Vec2 &v )    { Triangle(v.X(),v.Y()); }
  25.         ColorId    black_col;
  26.         ColorId    full_col;        // fⁿr Normal-Mode
  27.         ColorId    half_col;        // fⁿr Normal-Mode
  28.         ColorId    ball_col[7];    // fⁿr Deluxe-Mode
  29.  
  30.         HalfBallMover    *mh;
  31.  
  32.     private:
  33.         Ball    *ball[15];        // 0-6 full // 7 black // 8-15 half
  34.  
  35.         int    balls_in_pocket;
  36. };
  37.  
  38.  
  39. class Pool8Demo : public Pool8 {
  40.     public:
  41.         Pool8Demo( double ft, double s=100.0 ) : Pool8(ft), shot_speed(s)    {}
  42.         virtual ~Pool8Demo();
  43.  
  44.         virtual const Real &GetPresetA() const;
  45.         virtual const Real &GetSlowGranularity() const;
  46.  
  47.         virtual void InitPlayground();
  48.         virtual void DrawBackground() const;
  49.  
  50.     protected:
  51.         Real            shot_speed;
  52.  
  53.     public:
  54.         static Real    PresetA;
  55.         static Real    SlowGranularity;
  56. };
  57.  
  58. #ifdef DEBUG
  59. class Pool8Test : public Pool8Demo {
  60.     public:
  61.         Pool8Test( double ft, double s=100.0 ) : Pool8Demo(ft,s)        {}
  62.         virtual ~Pool8Test();
  63.         virtual void InitPlayground();
  64.         virtual void DrawBackground() const;
  65.  
  66.     private:
  67.         class TestField    *field_queue;
  68.  
  69. friend class TestField;
  70. };
  71. #endif
  72.  
  73. #endif
  74.